/*
 * Clase que genera la conexiÃ³n con la base de datos en una sola Instancia
 * Implementa el Patron Singleton
 *
 */
package acceso;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 *
 * @author usuario
 */
public class Conexion {

    //Instancia privada de la clase y conexiÃ³n a la base de datos
    private static Conexion cn_instance = new Conexion();
    private Connection conn = null;

    public Connection getConection() {
        return conn;
    }

    private Conexion() {
        //Constructor
        try {
            //ObtenciÃ³n del Driver de ConexiÃ³n
            Class.forName("org.postgresql.Driver");
            System.out.println("Registrado el Driver de ConexiÃ³n");
        } catch (ClassNotFoundException ex) {
            System.out.println("Error en la obteciÃ³n de la librerÃ­a");
            ex.printStackTrace();
        }
        try {
            //CreaciÃ³n de la conexiÃ³n con la base de datos
            conn = (Connection) DriverManager.getConnection("jdbc:postgresql://localhost/Agromapas2", "agromapas", "agromapas");
        } catch (SQLException ex) {
            System.out.println("Error en la conexiÃ³n con la base de datos");
            ex.printStackTrace();
        }

    }

    //MÃ©todo de acceso pÃºblico a la conexiÃ³n garantizando que solo se accede a una instancia
    public static Conexion getInstance() {
        return cn_instance;
    }
}
